1. Field of the Innovation
The present innovation relates generally to artificial neural networks and more particularly in one exemplary aspect to computer apparatus and methods for pulse-code neural network processing of sensory input.
2. Description of Related Art
Artificial spiking neural networks are frequently used to gain an understanding of biological neural networks, and for solving artificial intelligence problems. These networks typically employ a pulse-coded mechanism, which encodes information using timing of the pulses. Such pulses (also referred to as “spikes” or ‘impulses’) are short-lasting (typically on the order of 1-2 ms) discrete temporal events. Several exemplary embodiments of such encoding are described in commonly owned and co-pending U.S. patent application Ser. No. 13/152,084 entitled APPARATUS AND METHODS FOR PULSE-CODE INVARIANT OBJECT RECOGNITION”, filed Jun. 2, 2011, and U.S. patent application Ser. No. 13/152,119, Jun. 2, 2011, entitled “SENSORY INPUT PROCESSING APPARATUS AND METHODS”, each incorporated herein by reference in its entirety.
Typically, artificial spiking neural networks, such as the network 100 shown for example in FIG. 1, may comprise a plurality of units (or nodes) 102, which correspond to neurons in a biological neural network. Any given unit 102 may be connected to many other units via connections 104, also referred to as communications channels, or synaptic connections. The units providing inputs to any given unit (e.g., the unit 102_2 in FIG. 1) are commonly referred to as the pre-synaptic units (e.g., the units 102_1 in FIG. 1), while the unit receiving the inputs (e.g., the unit 102_2 in FIG. 1) is referred to as the post-synaptic unit.
In the network 100, networks inputs to neurons 102 may be delivered as temporal events via the connections 104. Each of the unit-to-unit connections may be assigned, inter alia, a connection efficacy, which in general refers to a magnitude and/or probability of input spike influence on neuronal response (i.e., output spike generation or firing), and may comprise, for example a parameter—synaptic weight—by which one or more state variables of post synaptic unit are changed. During operation of the pulse-code network (e.g., the network 100), synaptic weights may be dynamically adjusted using what is referred to as the spike-timing dependent plasticity (STDP) in order to implement, among other things, network learning. In some implementations, larger weights may be associated with a greater effect a synapse has on the activity of the post-synaptic neuron.
One such plasticity mechanism is illustrated with respect to FIGS. 2-3. Traces 200, 210 in FIG. 2 depict a pre-synaptic input spike train (delivered for example via connection 104_1 in FIG. 1) and post synaptic output spike train (generated, for example, by the neuron 102_1 in FIG. 1), respectively.
Properties of the connections 104 (such as weights w) are typically adjusted based on relative timing between the pre-synaptic input (e.g., the pulses 202, 204, 206, 208 in FIG. 2) and post-synaptic output pulses (e.g., the pulses 214, 216, 218 in FIG. 2). One typical STDP weight adaptation rule is illustrated in FIG. 3, where the rule 300 depicts synaptic weight change Δw as a function of the time difference between the time of post-synaptic output generation and arrival of pre-synaptic input Δt=tpost−tpre. In some implementations, synaptic connections (e.g., the connections 104 in FIG. 1) delivering pre-synaptic input prior to the generation of post-synaptic response are potentiated or increased (as indicated by Δw>0 associated with the curve 302), while synaptic connections (e.g., the connections 104 in FIG. 1) delivering pre-synaptic input subsequent to the generation of post-synaptic response are depressed (as indicated by Δw<0 associated with the curve 304 in FIG. 3). By way of illustration, when the post-synaptic pulse 208 in FIG. 2 is generated: (i) connection associated with the pre-synaptic input 214 precedes the output pulse (indicated by the line denoted 224) and it is potentiated (Δw>0 in FIG. 3 and the weight is increased); and (ii) connections associated with the pre-synaptic input 216, 218 that follow are depressed (Δw<0 in FIG. 3 and the weights are decreased).
In some existing plasticity implementations, connections that deliver inputs prior to generation of post-synaptic response (e.g., the rule 304 in FIG. 3) are potentiated. Accordingly, a neuron (e.g., the neuron 102_4 in FIG. 1) may acquire a synapse (e.g., the connection 104_1 in FIG. 1) that is sufficiently strong (e.g., is characterized by high efficacy) to cause the neuron to generate post-synaptic response regardless of inputs received via other connections. As a result, the connection 104_1 may be kept from being potentiated (in agreement with, for example, the STDP curve 403 in FIG. 3). This may generate a positive feedback loop of one or more connections, thereby causing infinite growth of their synaptic weights. Such positive feedback and uncontrolled synapse efficacy growth is often undesirable, as it may cause network instability, excessive post-synaptic responses, and general failure of the network.
Some existing solutions utilize a weight cap configured to restrict connection efficacy growth. However, generalized cap selection is not often straightforward, as different cap values may result in completely different dynamical regimes of the network. Moreover, translating network tasks (e.g., image encoding) into connection weights, particularly when varying the input, is not well understood.
Consequently there is a salient need for improved mechanisms to produce a spiking neuron network capable of operating in a wide variety of input and network dynamic regimes.